1. Field of the Invention
The present disclosure generally relates to source control systems and development life cycles. In particular, the present disclosure relates to regulated industry, development, qualification, process automation, and other applications and features.
2. Discussion of the Background Art
A systems development life cycle (SDLC) model is also called the life cycle or the waterfall model. The life cycle model is an approach to developing an information system or software product in a sequence of steps that progress from start to finish. Typically the steps include system requirements, software requirements, analysis, program design, coding, testing, and maintenance. The life cycle model is one of the oldest systems development models and is still probably the most commonly used.
Source control is also known as configuration management and change management. Source control is a discipline of making changes to source code in a planned and systematic fashion. The purpose of source control is to formally control the integrity of artifacts (items) and activities (tasks). In a source control system, objects are checked-out, edited, and then checked-in. Each time an object is checked-in, it is given a version number. Over time, a history of changes is created for the objects under the control of the source control system.
The items under control in a source control system includes objects, such as control strategies. In object-oriented programming (OOP), objects are abstractions used in designing a program and they are also the units of code that are eventually derived from the design process. In between, each object is made into a generic class of objects and even more generic classes are defined so that objects can share models and reuse the class definitions in their code. Each object is an instance of a particular class or subclass with the class's own methods or procedures and data variables. Thus, objects typically exist in a hierarchy of objects with parent and child relationships. An object is usually a binary, text, or other type of file.
Process control systems are used to control and monitor complex processes in many types of industrial settings, including refineries, pharmaceuticals, power and chemical plants, and pulp, paper and printing mills. One example is Experion PKS™available from Honeywell.
Many industries need to comply with regulations from federal agencies, such as the Food and Drug Administration (FDA) or the Environmental Protection Agency (EPA). In many cases, the overall production process, including a process automation system, needs to be validated. For the process automation system, this means that development needs to be performed in a consistent manner following standard operating procedures, maintaining a change history of configuration control. This is a complicated and time-consuming effort and there is a need for it to be automated and enforced. This would reduce the work and cost associated with the overall validation effort.
There is a need for a way for a user to define and use a development life cycle as part of a configuration tool in a process automation system. The configuration tool would automate and enforce the development life cycle for each individual control object through user predefined qualification states. The developer would only be able to make predefined qualification state transitions to which he or she was granted access. The sign-off in typical standard operating procedures is performed manually on printed-paper. There is a need for automating the sign-off and logging each interaction with the developers, such as the action performed and the time and date. This would prevent the control objects that are not yet intended to be part of the production process from being loaded. This would also prevent important development steps like testing and validation from being skipped.